Application Gadgets and Electronic Program Guides

ABSTRACT

Application gadget techniques are described. In an implementation, a remote control device includes a display device and one or more modules. The one or more modules are configured to initiate one or more control functions related to control of a display of content by a client. The one or more modules also provide an environment to execute one or more application gadgets such that an output of the one or more application gadgets is displayable on the display device.

This application claims priority under 35 U.S.C. Section 120 as acontinuation of U.S. patent application Ser. No. 13/190,276, filed Jul.25, 2011, and titled “Application Gadgets and Electronic ProgramGuides,” which claims priority under 35 U.S.C. Section 120 as acontinuation of U.S. patent application Ser. No. 12/060,847, filed Apr.1, 2008, and titled “Application Gadgets,” the entire disclosures eachof which are hereby incorporated by reference.

BACKGROUND

Remote control devices were developed to expand an ability of users tocontrol content interaction by associated clients. For example, a clientmay be configured as a television to consume traditional televisionprogramming and a traditional remote control device may becommunicatively coupled to the television to initiate one or morecontrol functions of the television. Therefore, a user may press buttonson the traditionally configured remote control device to increase ordecrease volume of the television, change channels, select differentsources for content, and so on. Traditional remote control devices,however, were static, inflexible and offered limited functionality.Further, while interactivity with a client (e.g., a television) has beenavailable, traditional techniques that were utilized to provide thisinteractivity were cumbersome and could interrupt the user's experiencewith the content.

SUMMARY

Application gadget techniques are described. In an implementation, aremote control device includes a display device and one or more modules.The one or more modules are configured to initiate one or more controlfunctions related to control of a display of content by a client. Theone or more modules also provide an environment to execute one or moreapplication gadgets such that an output of the one or more applicationgadgets is displayable on the display device.

In one or more implementations, content that is broadcast by a networkoperator is output by a client. The content includes a notification thatan application gadget is available. An input is received at the clientthat involves interaction with the notification and that causesinstallation of the application gadget on another device that is not theclient.

In one or more implementations, an input is received which specifiesthat an application gadget that is installed on a first device is to becopied to a second device. Responsive to the receiving of the input, acopy is formed of the application gadget and one or more configurationsettings that were specified by a user of the first device to becommunicated to and stored by the second device.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Theuse of the same reference numbers in different instances in thedescription and the figures may indicate similar or identical items.

FIG. 1 is an illustration of an environment in an example implementationthat is operable to employ application gadget techniques.

FIG. 2 depicts an exemplary system showing a remote control device ofFIG. 1 in greater detail as displaying representations of one or morecontrol functions of a client that may be initiated through selection onthe remote control device.

FIG. 3 illustrates an example system in which a verification screen isoutput to verify that installation is desired of the application gadgetrepresented by a notification of FIG. 2.

FIG. 4 depicts a system in an example implementation in which anapplication gadget of FIG. 3 is installed and executed on a remotecontrol device.

FIG. 5 is a flow diagram depicting a procedure in an exampleimplementation in which content that is output by a client includes anotification that an application gadget is available for installation.

FIG. 6 is a flow diagram depicting a procedure in an exampleimplementation in which an application gadget and correspondingconfiguration settings are copied from a first device to second device.

FIG. 7 depicts a system in an example implementation in whichinteraction with a remote control device causes an application gadgetand corresponding configuration settings to be copied from a client toanother client.

DETAILED DESCRIPTION

Overview

Application gadget techniques are described. In an implementation, aremote control device includes a display device that is used to outputcontent. For example, the remote control device may be configured as a“glassy brick” that includes a touch screen that covers approximatelyhalf (e.g., more than forty percent) of an outer surface of the remotecontrol device. The display device of the remote control device may beused to output a result of execution of one or more application gadgets.Thus, the remote control device may be used to expand the user'sexperience with content.

For example, a client may output an electronic program guide whichincludes an indication (e.g., icon) that an application gadget isavailable. Selection of the indication may cause the application gadgetto be installed on the remote control device. A variety of differentapplication gadgets may be installed on the remote control device. Forinstance, the application gadget may relate the respective content, suchas a dedicated search tool that locates showings of the content via abroadcast and/or from a digital video recorder.

Selection of the notification may also enable the user to select anotherdevice to install the application gadget, such as a home personalcomputer. Continuing with the previous example, selection of thenotification may cause a display of other devices that are available forinstallation of the application gadget, e.g., devices that are availablevia a local network connection. Further discussion of installation ofgadgets on a remote control device and/or another device may be found inrelation to FIG. 5.

Techniques are also described to copy application gadgets andconfiguration settings between devices. Traditionally, applicationgadgets were installed separately on each device as desired by a userfrom a common source. However, a user may provide configuration settingsto customize an application gadget, such as to specify a favorite sportsteam. Therefore, the user was forced to provide configuration settingsfor each installation of the application gadget. Using these techniques,however, configuration settings may be automatically copied with theapplication gadget between devices as desired by the user, furtherdiscussion of which may be found in relation to FIGS. 6 and 7.

In the following discussion, an example environment and systems arefirst described that is operable to perform techniques involvingapplication gadgets. Example procedures are then described that may beemployed in the example environment, as well as in other environments.Although the application gadget techniques are described in a televisionenvironment in the following discussion, it should be readily apparentthat a wide variety of goods and/or services may also employ thesetechniques without departing from the spirit and scope thereof.

Example Environment

FIG. 1 is an illustration of an environment 100 in an exampleimplementation that is operable to employ application gadget techniques.The illustrated environment 100 includes a network operator 102 (e.g., a“head end”), a client 104, a remote control device 106 and a contentprovider 108 that are communicatively coupled, one to another, vianetwork connections 110, 112, 114. In the following discussion, thenetwork operator 102, the client 104, the remote control device 106 andthe content provider 108 may be representative of one or more entities,and therefore by convention reference may be made to a single entity(e.g., the client 104) or multiple entities (e.g., the clients 104, theplurality of clients 104, and so on). Additionally, although a pluralityof network connections 110-114 are shown separately, the networkconnections 110-114 may be representative of network connectionsachieved using a single network or multiple networks, e.g., networkconnections 110, 112 may be implemented via the internet and networkconnection 114 may be implemented via a local network connection, suchas via infra red, a radio frequency connection, and so on. In anotherexample, network connection 114 may also be implemented via theinternet.

The client 104 may be configured in a variety of ways. For example, theclient 104 may be configured as a computer that is capable ofcommunicating over the network connections 112, 114, such as atelevision, a mobile station, an entertainment appliance (e.g., a gameconsole), a set-top box communicatively coupled to a display device asillustrated, a wireless phone, and so forth. Thus, the client 104 mayrange from a full resource device with substantial memory and processorresources (e.g., television-enabled personal computers, televisionrecorders equipped with hard disk) to a low-resource device with limitedmemory and/or processing resources (e.g., traditional set-top boxes).

Communication of content to the client 104 may be performed in a varietyof ways. For example, the client 104 may be communicatively coupled tothe content provider 108 (which may be representative of one or morecontent providers) using a packet-switched network, e.g., the Internet.Accordingly, the client 104 may receive one or more items of content116(k), where “k” can be any integer from 1 to “K” directly from thecontent provider 108, e.g., via one or more websites. The content 116(k)may include a variety of data, such as television programming,video-on-demand (VOD) files, one or more results of remote applicationprocessing, and so on. A variety of other examples are alsocontemplated, such as by using an indirect distribution example in whichthe content 116(k) is communicated over the network connection 110 tothe network operator 102.

Content 116(k), as illustrated in the example environment 100 of FIG. 1,is communicated via the network connection 110 is received by thenetwork operator 102 and may be stored as one or more items of content118(n), where “n” can be any integer from “1” to “N”. The content 118(n)may be the same as or different from the content 116(k) received fromthe content provider 108. The content 118(n), for instance, may includeadditional data for broadcast to the client 104. For example, thecontent 118(n) may include electronic program guide (EPG) data from anEPG database for broadcast to the client 104 utilizing a carousel filesystem and an out-of-band (OOB) channel. Distribution from the networkoperator 102 to the client 104 over network connection 112 may beaccommodated in a number of ways, including cable, radio frequency (RF),microwave, digital subscriber line (DSL), and satellite.

The client 104, as previously stated, may be configured in a variety ofways to receive the content 118(n) over the network connection 114. Theclient 104 typically includes hardware and software to transport anddecrypt content 118(n) received from the network operator 102 for outputto and rendering by the illustrated display device. Although a displaydevice is shown, a variety of other output devices are alsocontemplated, such as speakers. Although the display device isillustrated separately from the client 104, it should be readilyapparent that the client 104 may also include the display device as anintegral part thereof.

The client 104 may also include digital video recorder (DVR)functionality. For instance, the client 104 may include a storage device120 to record content 118(n) as content 122(c) (where “c” can be anyinteger from one to “C”) received via the network connection 112 foroutput to and rendering by the display device. The storage device 120may be configured in a variety of ways, such as a hard disk drive, aremovable computer-readable medium (e.g., a writable digital videodisc), and so on. Thus, content 122(c) that is stored in the storagedevice 120 of the client 104 may be copies of the content 118(n) thatwas streamed from the network operator 102. Additionally, content 122(c)may be obtained from a variety of other sources, such as from acomputer-readable medium that is accessed by the client 104, and so on.For example, content 122(c) may be stored on a digital video disc (DVD)when the client 104 is configured to include DVD functionality.

The client 104 includes a client communication module 124 that isrepresentative of functionality of the client 104 to control contentinteraction on the client 104, such as through the use of one or more“control functions”. The control functions may include a variety offunctions to control output of content, such as to control volume,change channels, select different inputs, configure surround sound, andso on. The control functions may also provide non-linear playback of thecontent 122(c) (i.e., time shift the playback of the content 122(c))such as pause, rewind, fast forward, slow motion playback, and the like.For example, during a pause, the client 104 may continue to record thecontent 118(n) in the storage device 120 as content 122(c). The client104, through execution of the client communication module 124, may thenplayback the content 122(c) from the storage device 120, starting at thepoint in time the content 122(c) was paused, while continuing to recordthe currently-broadcast content 118(n) in the storage device 120 fromthe network operator 102.

When playback of the content 122(c) is requested, the clientcommunication module 124 retrieves the content 122(c). The clientcommunication module 124 may also restore the content 122(c) to theoriginal encoded format as received from the content provider 108. Forexample, when the content 122(c) is recorded on the storage device 120,the content 122(c) may be compressed. Therefore, when the clientcommunication module 124 retrieves the content 122(c), the content122(c) is decompressed for rendering by the display device.

The network operator 102 is illustrated as including a manager module126. The manager module 126 is representative of functionality toconfigure content 118(n) for output (e.g., streaming) over the networkconnection 112 to the client 104. The manager module 126, for instance,may configure content 116(k) received from the content provider 108 tobe suitable for transmission over the network connection 112, such as to“packetize” the content for distribution over the Internet,configuration for a particular broadcast channel, and so on.

Thus, in the environment 100 of FIG. 1, the content provider 108 maybroadcast the content 116(k) over a network connection 110 to amultiplicity of network operators, an example of which is illustrated asnetwork operator 102. The network operator 102 may then stream thecontent 118(n) over a network connection 112 to a multitude of clients,an example of which is illustrated as client 104. The client 104 maythen store the content 118(n) in the storage device 120 as content122(c), such as when the client 104 is configured to include digitalvideo recorder (DVR) functionality, and/or output the content 118(n)directly.

The remote control device 106 is illustrated as including a controlmodule 128 that is representative of functionality to control operationof the remote control device 106. The control module 128, for instance,is representative of functionality to initiate control functions of theclient 104. For example, the control module 128 may be configured toreceive inputs related to selection of representations of controlfunctions, such as a selection of a “volume up” representation on theremote control device 106 using a button. Data representing thisselection may then be communicated via network connection 114 to theclient 104 that causes the client 104 (e.g., the client communicationmodule 124) to increase the volume. A variety of other control functionsmay also be initiated by the control function module 128 as previouslydescribed.

The control module 128 is also illustrated as including a remote gadgetmodule 130, which is representative of functionality of the remotecontrol device 106 to provide an environment for execution of one ormore application gadgets, an example of which is illustrated asapplication gadget 132. The client 104, and more particularly the clientcommunication module 124, is illustrated as including a client gadgetmodule 134. The client gadget module 134 is also representative of anenvironment for execution of one or more application gadgets, which inthis case is provided by the client 104.

For example, the remote gadget module 130 and/or the client gadgetmodule 134 may be executable to provide a software service that isavailable to manage execution and display a result of the execution ofthe application gadget 132. In an implementation, application gadget 132is a computer program (e.g., a desktop widget) that provides one or moreservices without requiring separate applications to be launched for eachservice. Instead, the application gadget 132 is run an environment thatmanages multiple gadgets, which in this case is illustrated as remotegadget module 130.

The application gadget 132, for instance, may be a software componentthat runs in a context of a service (e.g., the remote gadget module 130)such that the application gadget 132 is not executable outside of thecontext. For example, the application gadget 132 may be configured toprovide a targeted purpose output (e.g., as a clock, calendar, tocorrelate newsfeeds, and so on) that relies on underlying functionalityof the service to execute.

The output of the application gadget 132, when configured as a desktopgadget, may be displayed on a “desktop” (e.g., a “sidebar”) and/or anauxiliary display (an example of which may be found in relation to FIG.7). The application gadget 132 may also be configured as a web gadgetthat obtains data via a network connection 114. A variety of otherexamples are also contemplated.

The illustrated application gadget 132 includes one or moreconfiguration settings 136(c), which may be input by a user to customizeexecution of the gadget. For example, the configuration settings 132(c)may be input to specify a particular city to obtain a display of weatherfor that city, a favorite sports teams, stock symbols, and so on,further discussion of which may be found in relation to FIGS. 6 and 7.

The application gadget 132 may be obtained in a variety of ways. In theillustrated example environment 100, a gadget service 138 includes oneor more application gadgets 140(g) that are accessible to a networkoperator 102 via network connection 142. The gadget service 138 may beconfigured in a variety of ways, such as a stand-alone service thatprovides the application gadgets 140(g) for a fee, a “sharing” servicein which the one or more application gadgets 140(g) are provided free ofcharge, and so on.

The network operator 102, and more particularly the manager module 126,is illustrated as including a gadget manager module 144. The gadgetmanager module 144 is representative of functionality of the networkoperator 102 to manage distribution of the one or more applicationgadgets 140(g) over the network connection 112 that were obtained fromthe gadget service 138. For example, the application gadget 140(g) maybe streamed with content 118(n), provided in a stand-alone stream,accessible for download via the Internet, and so on. An output of theexecution of the application gadget 132 may then be displayed on adisplay device of the remote control device 106, further discussion ofwhich may be found beginning in relation to the following figure.

FIG. 2 depicts an exemplary system 200 showing the remote control device106 in greater detail as displaying representations 202 of one or morecontrol functions of the client 104 that may be initiated throughselection on the remote control device 106. The illustrated remotecontrol device 106 includes a display device (e.g., a touch screen) thatconsumes approximately half of an outer surface of the remote controldevice thereby giving the remote control device an appearance of a“glass brick”.

In another implementation, the display device of the remote controldevice 104 covers at least forty percent of the outer surface of theremote control device 104. In a further implementation, the displaydevice consumes, approximately, an outer surface of the remote controldevice 106 that is viewable by a user when placed on a surface (e.g., atop of a table) and/or grasped in a hand of the user, e.g., theillustrated outer surface of the remote control device 106 in FIG. 2. Avariety of other implementations are also contemplated, such asimplementations in which the display device of the remote control device106 includes more or less than the previously described amounts of theouter surface of the remote control device 106.

The display device of the remote control device, for instance, may beimplemented such that representations of control functions and otherdata are reconfigurable and therefore may be displayed on the remotecontrol device 106 in a variety of ways. For example, different portionsof the display device of the remote control device 106 may be configuredto detect contact and/or proximity of an object to the display devicesuch that different portions of the display device are selectable. Avariety of different techniques may be used to detect selection, such asthrough resistive techniques, surface acoustic waves, capacitive,infrared, use of strain gauges, optical imaging, dispersive signaltechnology, acoustic pulse recognition, frustrated total internalreflection, and so on. Using these techniques, a variety of data may bedisplayed on the display device of the remote control device. Further,interaction with the displayed data may be performed in a variety ofways.

By selecting one or more of the representations 202 using the displaydevice, for instance, a user may supply an input to initiate therepresented control function by the client 104. As illustrated by theremote control device 106 of FIG. 2, for instance, a user may select a“power” representation, one or more numbers to select a channel, “mute”,“last”, “channel up”, “channel down”, “volume up”, “volume down” and“input select”. Thus, when the illustrated remote control device 106 isin the control function mode, the remote control device 106 maycommunicate with the client 104 to control output of content by theclient 104.

A client 104 is illustrated as providing an output of an electronicprogram guide 204 for display on a display device 206. Electronicprogram guide 204 includes representations of channels and correspondingcontent available via those channels. For example, the illustratedelectronic program guide 204 includes a representation 208 of channel“4” and a representation 210 of a corresponding television program“World Cup Finals”. The representation 210 includes a notification 212that an application gadget is available, which is illustrated asincluding text “World Cup Gadget Available” and a corresponding icon ofa soccer ball. The text and/or the icon are selectable to causeinstallation the represented application gadget, an example of which isillustrated in the following figure.

FIG. 3 illustrates an example system 300 in which a verification screen302 is output to verify that installation is desired of the applicationgadget represented by the notification 212 of FIG. 2. The verificationscreen 302 includes text which queries whether the user wants to“Install World Cup Countdown Gadget?” If so, the user may select the“yes” button and if not the “no” button. Selection of the “yes” buttonmay then cause the World Cup countdown gadget to be installed in theremote control device 106, a result of which may be found in relation tothe following figure.

FIG. 4 depicts a system 400 in an example implementation in which theWorld Cup countdown gadget of FIG. 3 is installed and executed on theremote control device 106. The remote control device 106 includes aplurality of representations 402. For example, the representations 402include a representation for “power”, representations that form anumeric keypad, “channel up” and “channel down” representations and“volume up” and “volume down” representations that correspond to therepresentations 202 of the remote control device 106 of FIG. 2.

However, the size and arrangement of those representations, one toanother, has changed to enable the remote control device to include anoutput 404 of the World Cup countdown gadget. For example, the size andshape of the representations 402 of the numeric keypad of the remotecontrol device 106 of FIG. 4 has been changed when compared with therepresentations of the numeric keypad of the remote control device 106of FIG. 2. A similar change may also be noticed when comparing therespective representations of the power control function of FIGS. 2 and3.

Additionally, the arrangement of the representations of the controlfunctions has been changed. For instance, the representations of thenumeric keypad as well as the representations to change the channel andthe volume have been positioned lower on the display device of theremote control device 106 of FIG. 4 when compared with the remotecontrol device 106 of FIG. 2. Further, different control functions arerepresented by the remote control device 106 of FIG. 4 when comparedwith a remote control device of FIG. 2. The rearrangement andrepositioning of the representations 402 may thus be used to allocate aportion of the display device of the remote control device 106 foroutput 404 of the World Cup countdown gadget.

The output 404 of the World Cup countdown gadget includes the text “NextWorld Cup Match In: 12 days!” In this way, the display device of theremote control device 106 may further expand content interaction on thepart of the user. Although a countdown to content output has beendescribed, functionality provided by the application gadget executed onthe remote control device 106 may take a variety of forms.

For example, the application gadget executed on the remote controldevice 106 may relate to output of television programs that arebroadcast by the network operator 102. For instance, the applicationgadget may be executable to identify one or more television programsthat are currently available for output by the client 104, to search awebpage having electronic program guide listings of content that isrecorded on the client 104 (e.g., content 122(c) that is stored storage120), provide a list of top rated content that is obtained via a networkconnection, and so on. A variety of other examples are alsocontemplated, further discussion of which may be found in relation tothe following procedures.

Generally, any of the functions described herein can be implementedusing software, firmware, hardware (e.g., fixed-logic circuitry), manualprocessing, or a combination of these implementations. The terms“module”, “functionality” and “logic” as used herein generally representsoftware, firmware, hardware, or a combination thereof. In the case of asoftware implementation, for instance, the module, functionality, orlogic represents program code that performs specified tasks whenexecuted on a processor (e.g., CPU or CPUs). The program code can bestored in one or more computer-readable memory devices. The features ofthe application gadget techniques are platform-independent, meaning thatthe techniques may be implemented on a variety of commercial computingplatforms having a variety of processors.

Example Procedures

The following discussion describes application gadget techniques thatmay be implemented utilizing the previously described environment,systems, user interfaces and devices. Aspects of each of the proceduresmay be implemented in hardware, firmware, software or a combinationthereof. The procedures are shown as a set of blocks that specifyoperations performed by one or more devices and are not necessarilylimited to the orders shown for performing the operations by therespective blocks. In portions of the following discussion, referencewill be made to the environment 100 of FIG. 1 and systems 200-400 ofFIGS. 2-4, respectively.

FIG. 5 depicts a procedure 500 in an example implementation in whichcontent that is output by a client includes a notification that anapplication gadget is available for installation. Content is received ata client that is broadcast from a network operator (block 502). Forexample, a client 104 may receive a stream of content 118(n) (e.g.,television programs and supporting content such as an electronic programguide and advertisements) via a network connection 112.

The content is output, by the client, which includes a notification thatan application gadget is available (block 504). For example, the contentmay be configured as an electronic program guide that includes anotification 212 that an application gadget is available. A variety ofother examples are also contemplated, such as display of an icon orother notification during a television program, display of anotification in a “ticker” that is scrolled across a display device ofthe client 104, and so on.

An input is received at the client that involves interaction with anotification and that causes installation of the application gadget onanother device that is not the client (block 506). Continuing with theprevious example, a user may interact with the remote control device 106to cause the application gadget that corresponds to the notification 212to be installed on the remote control device 106. The application gadgetmay also be installed on a variety of other devices, an example of whichmay be found in relation to FIGS. 6 and 7.

Responsive to the receipt of the input, the application gadget isinstalled on the other device (block 508). For example, the remotegadget module 130 may cause the client 104 to download the applicationgadget 140(g) via the network operator 102. In another example, theapplication gadget 140(g) may be streamed with the content 118(n) by thenetwork operator 102. A variety of other examples are also contemplated,such as a direct download by the remote control device 106 that does notinvolve the client 104 and/or the network operator 102.

The application gadget is executed on the other device such that dataobtained from the execution is displayed on a display device of theother device (block 510). As previously described, the applicationgadget 132 may be executed within the environment provided by the remotegadget module 132 to output a variety of data on a display device of theremote control device 106.

A variety of different application gadgets may be executed on the remotecontrol device 106. For example, the remote control device 106 mayexecute application gadget 132 that causes the remote control device 106to interact with a website. Thus, this application gadget functions as awidget, which is a downloadable interactive tool that is configured todownload data over a network connection for output on the remote controldevice 106. For instance, the application gadget may be executable toidentify one or more television programs that are currently availablefor output by the client 104, to search a webpage of electronic programguide listings and/or content that is recorded on the client 104 (e.g.,content 122(c) that is stored storage 120), provide a list of top ratedcontent that is obtained via in network connection, and so on. Anapplication gadget may also be configured as a sideshow gadget that isexecutable to provide an output on an auxiliary external display,further discussion of which may be found in relation to the followingfigures.

FIG. 6 depicts a procedure 600 in which an application gadget andcorresponding configuration settings are copied from a first device to asecond device. An application gadget is executed on the first device(block 602) and one or more inputs are received from a user to set oneor more configuration settings of the application gadget (block 604).For example, the configuration settings 136(c) may specify a particularcity from which a weather forecast is to be received, a favorite sportsteam, a network address for a calendar, and so on. The applicationgadget and the one or more configuration settings are then stored on thefirst device (block 606).

An input is received which specifies that the application gadget is tobe copied to a second device (block 608). For example, a user of theremote control device 106 may specify that the application gadget 132 isto be copied to the client 104 for execution within the environmentprovided by the client gadget module 134. In another example,interaction with a first device is utilized to control copying of anapplication gadget between other devices, further discussion of whichmay be found in relation to the following figure.

FIG. 7 depicts a system 700 in an example implementation in whichinteraction with a remote control device causes an application gadgetand corresponding configuration settings to be copied from a client toanother client. The system 700 includes the remote control device 106and the client 104 of FIG. 1. The system 700 also includes anotherclient 702 which is illustrated as being configured as a laptop computerthat has an auxiliary display device 704.

An application gadget 706, including one or more configuration setting708(c) (where “c” can be an integer between one and “C”), is illustratedas being copied from the client 104 to the other client 702. Theapplication gadget 706 may then be executed automatically and withoutfurther user intervention in a manner consistent with how theapplication gadget was executed on the client 104.

Returning now to FIG. 6, responsive to the reception of the input whichwhich specifies that the application gadget is to be copied to thesecond device, a copy is formed of the application and the one or moreconfiguration settings to be communicated to and stored by the seconddevice (block 610). Continuing with the previous example, the clientgadget module 134 may output a user interface which includes a list ofeach other device that is accessible over a local area network, widearea network or so on. A user may interact with the user interface tospecify which device is to receive a copy of the application gadget 706.The client gadget module 134 may then form the copy of the applicationgadget 706 and the one or more configuration settings 708(c) forcommunication over a network connection to the other client 702. A widevariety of other examples are also contemplated.

The application gadget and one or more configuration settings are theninstalled on the second device such that the one or more configurationsettings are used in execution of the application gadget (block 612).For example, the application gadget may be configured to outputlocations of favorite television programs of a user, and theconfiguration settings may specify those television programs. Therefore,by copying the configuration settings with the application gadget, theapplication gadget may automatically and without further userintervention function as originally configured on the first device,e.g., the client 104. In this way, functionality of the applicationgadget to be distributed to devices as desired by a user withoutperforming a manual setup of the application gadget on each of thedevices.

CONCLUSION

Although the invention has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the invention defined in the appended claims is not necessarilylimited to the specific features or acts described. Rather, the specificfeatures and acts are disclosed as example forms of implementing theclaimed invention.

What is claimed is:
 1. A client device comprising one or more modulesimplemented at least partially in hardware and configured to: receive ata client device an input that involves interaction with a notificationthat is output in association with an electronic program guide (EPG)that is broadcast by a network operator, the notification indicatingthat an application gadget is available; responsive to the input,display one or more options by the client device that are selectable tospecify another computing device that is to receive and install theapplication gadget for execution on the other computing device, the oneor more options including a remote control device that is associatedwith the client device to initiate one or more control functions of theclient device; and responsive to selection of the remote control devicefrom the one or more options, initiate communication of the applicationgadget for installation and display at the remote control deviceeffective to cause a display of one or more representations of the oneor more control functions of the client device to be modified toallocate a portion of a display device associated with the remotecontrol device for output of the application gadget.
 2. A client deviceas described in claim 1, wherein the application gadget is configured toprovide a targeted purpose output that runs in a context of a serviceand relies on underlying functionality of the service to execute.
 3. Aclient device as described in claim 1, wherein the application gadget isa software component that runs in a context of a service such that theapplication gadget is not executable outside of the context.
 4. A clientdevice as described in claim 1, wherein the application gadget isconfigured as a widget that is a downloadable interactive tool that isconfigured to download data over a network connection for output on theother computing device.
 5. A client device as described in claim 1,wherein the notification relates to one or more television programsrepresented within the electronic program guide.
 6. One or more computerreadable storage memory having computer readable instructions storedthereon that, responsive to execution by a remote control device, causethe remote control device perform operations comprising: causing a firstinput to be transmitted to a client device to select a notificationdisplayed as part of an electronic program guide (EPG) that is broadcastby a network operator, the notification indicating that an applicationgadget is available; causing a second input to be transmitted to theclient device to select an option to specify which of a plurality ofcomputing devices is to receive and install the application gadget, theoption selected from a list of other computing devices including theremote control device, the remote control device being associated withthe client device to initiate one or more control functions of theclient device responsive to interaction with one or more representationsof the one or more control functions of the client device that aredisplayed on a display device of the remote control device; andresponsive to the remote control device being specified as the computingdevice that is to receive and install the application gadget, modifyinga display of the one or more representations to allocate a portion ofthe display device of the remote control device for output of theapplication gadget.
 7. One or more computer readable storage memory asdescribed in claim 6, wherein the application gadget relates to outputof television programs that are broadcast by the network operator. 8.One or more computer readable storage memory as described in claim 6,wherein the application gadget is configured to provide a targetedpurpose output that runs in a context of a service and relies onunderlying functionality of the service to execute.
 9. One or morecomputer readable storage memory as described in claim 6, wherein theone or more control functions are configured to control one or more of avolume, a channel selection, playback of content, or power at the clientdevice.
 10. One or more computer readable storage memory as described inclaim 6, wherein the application gadget is executable to: identify oneor more television programs that are currently available for output bythe client device; search a webpage of electronic program guide listingsand content that is recorded on the client device; or provide a list oftop-rated content, the list being accessible to the client device via anetwork connection.
 11. One or more computer readable storage memory asdescribed in claim 6, wherein the application gadget is a softwarecomponent that runs in the context of the service such that theapplication gadget is not executable outside of the context.
 12. Amethod comprising: receiving a request for an application gadget to becommunicated to a remote control device that is configured to initiateone or more control functions of a client device, the request specifyingthe remote control device based on an input that was initiated throughselection of an option output by the client device responsive toselection of a notification in an electronic program guide (EPG)displayed by the client device; and communicating the application gadgetvia a network for installation and execution by the remote controldevice, the application gadget being communicated to the remote controldevice effective to cause the remote control device to modify a displayof one or more representations of the one or more control functions ofthe client device to allocate a portion of a display device associatedwith the remote control device for output of the application gadget. 13.A method as described in claim 12, wherein the application gadget is asoftware component that runs in the context of the service such that theapplication gadget is not executable outside of the context.
 14. Amethod as described in claim 12, wherein the application gadgetcomprises a program configured to provide one or more services withoutrequiring separate applications to be launched for each service.
 15. Amethod as described in claim 14, wherein the one or more representationsof the one or more control functions of the client device are modifiedby at least rearranging the one or more representations on the displaydevice associated with the remote control device.
 16. A method asdescribed in claim 12, wherein the one or more representations of theone or more control functions of the client device are modified by atleast resizing the one or more representations on the display deviceassociated with the remote control device.
 17. A method as described inclaim 12, wherein the one or more representations of the one or morecontrol functions of the client device that are displayed at the displaydevice of the remote control device are modified in at least one of sizeor position.
 18. A method as described in claim 12, wherein theapplication gadget is executable to: identify one or more televisionprograms that are currently available for output by the client device;search a webpage of electronic program guide listings and content thatis recorded on the client device; or provide a list of top-ratedcontent, the list being accessible to the client device via a networkconnection.
 19. A method as described in claim 12, wherein the one ormore control functions of the client device are configured to controloutput of content at the client device by at least controlling one ormore of a volume, a channel selection, playback of the content, or powerat the client device.
 20. A method as described in claim 12, wherein theapplication gadget is configured to provide a targeted purpose outputthat is configured to run in a context of a service and rely onunderlying functionality of the service to execute.